package controlador;

import iterator.IteradorGeneral;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.Vector;

import vista.VentanaIncluirGrupo;
import vista.VentanaLinea;

import modelo.GrupoColaborativo;
import modelo.GrupoColaborativoDAO;
import modelo.Laboratorio;
import modelo.LineaDAO;
import modelo.LineaDeInvestigacion;

public class ControladorLineasInvestigacion implements ActionListener{
	private VentanaLinea vl;
	private Laboratorio lab;

	public ControladorLineasInvestigacion(Laboratorio laboratorio) {
		this.lab = laboratorio;
		vl = VentanaLinea.getInstancia();
		vl.agregarListener(this);
		vl.setVisible(true);
		//vl.setLocationRelativeTo(null);
		vl.setResizable(false);
		vl.componentesHabilitados(false);
		vl.desahabilitarComponente(false);
		//vl.setTxtCodLinea(generarCodigo());
		cargarListadoLinea();
		
	}

	@Override
	public void actionPerformed(ActionEvent e) {
		if (e.getActionCommand().equalsIgnoreCase("Salir")){
			vl.dispose();
		}
		else if (e.getActionCommand().equalsIgnoreCase("Crear")){
			vl.componentesHabilitados(true);
			}
		else if (e.getActionCommand().equalsIgnoreCase("Guardar")){
			guardarLinea();
			vl.LimpiarCampos();
		}
		}
	
	// GENERAR CODIGO
	public String generarCodigo(){
		String cod;
		int a = lab.contarLineas()+1;
		if(a < 9) {
			cod = "LI-0"+a;
			return cod;
		}
		cod = "LI-"+a;
		return cod;
	}
	
	//METODO GUARDAR GRUPOS
	public void guardarLinea(){
		LineaDeInvestigacion li = new LineaDeInvestigacion(vl.getTxtCodLinea(), vl.getTxtNombLinea(), "A");
	lab.guardarLinea(li);
	vl.mostrarMensaje("Grupo Guardado de Manera Exitosa");
	}
		
	
	//CARGAR LISTADO DE LOS GRUPOS EXISTENTES
	public void cargarListadoLinea(){
		LineaDAO l = new LineaDAO();
		ArrayList<LineaDeInvestigacion> prueba = l.cargarListadoLinea();
		
		IteradorGeneral<LineaDeInvestigacion> iterador = new IteradorGeneral<LineaDeInvestigacion>(prueba);
		for (iterador.primero(); !iterador.haTerminado(); iterador.siguiente())
		{
			Vector<String> listado = new Vector<String>(2,1);
			LineaDeInvestigacion li = (LineaDeInvestigacion) iterador.elementoActual();
			String cod = li.getCodigo();
			String nomb = li.getNombre();
			listado.add(cod);
			listado.add(nomb);
			vl.cargarListado(listado);
		}
	}
	
	/*CARGAR LISTADO DE LAS LINEAS EXISTENTES
		public void cargarListadoL(){
			for (int i = 0; i < lab.contarLineas(); i++){
			Vector<String> listado = new Vector<String>(2,1);
			LineaDeInvestigacion li = new LineaDeInvestigacion();
				if(li.getEstatus() == "E"){
					continue;
				}
				String cod = li.getCodigo();
				String nomb = li.getNombre();
				listado.add(cod);
				listado.add(nomb);
				vl.cargarListado(listado);
			}
		}*/
}
